package com.ruiaa.meeting.service;

import com.ruiaa.meeting.common.CommonResponse;
import com.ruiaa.meeting.model.Reservation;
import com.ruiaa.meeting.model.dto.ReservationDto;
import com.ruiaa.meeting.model.vo.ReservationVo;
import com.ruiaa.meeting.model.vo.UserVo;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author chenhuaiyi
 * @date 2022-11-05 15:30
 */
public interface ReservationService {

    CommonResponse<List<Reservation>> getAllReservation();

    CommonResponse<List<Reservation>> getReservation(ReservationDto reservation);

    CommonResponse<ReservationVo> passReservation(Integer reserveId);

    CommonResponse<ReservationVo> rejectReservation(Integer reserveId);

    CommonResponse<Object> clearReservation();

    CommonResponse<Object> reserveReservation(Integer roomId, LocalDateTime startTime, LocalDateTime endTime);

    CommonResponse<Object> cancelReservation(Integer reserveId);

}